{include="header"}

<script type="text/javascript">
   var numlineas = 0;
   function add_partida()
   {
      numlineas++;
      $("#partidas").append("<tr id='partida_"+numlineas+"'>\n\
         <td>\n\
            <input class='form-control' id='codsubcuenta_"+numlineas+"' name='codsubcuenta_"+numlineas+"' type='text'\n\
               onclick=\"show_buscar_subcuentas('"+numlineas+"','subcuenta')\" onkeyup='document.f_buscar_subcuentas.query.value=$(this).val();buscar_subcuentas()'\n\
               autocomplete='off' placeholder='Seleccionar'/>\n\
         </td>\n\
         <td>\n\
            <input class='form-control text-right' type='text' id='saldo_"+numlineas+"' name='saldo_"+numlineas+"' value='0' disabled='disabled'/>\n\
         </td>\n\
         <td>\n\
            <input class='form-control text-right' type='text' id='debe_"+numlineas+"' name='debe_"+numlineas+"' value='0'\n\
               onclick='this-select()' onkeyup='recalcular()' autocomplete='off'/>\n\
         </td>\n\
         <td>\n\
            <input class='form-control text-right' type='text' id='haber_"+numlineas+"' name='haber_"+numlineas+"' value='0'\n\
               onclick='this-select()' onkeyup='recalcular()' autocomplete='off'/>\n\
         </td>\n\
         <td>\n\
            <input class='form-control' id='codcontrapartida_"+numlineas+"' name='codcontrapartida_"+numlineas+"' type='text'\n\
               onclick=\"show_buscar_subcuentas('"+numlineas+"','contrapartida')\" onkeyup='document.f_buscar_subcuentas.query.value=$(this).val();buscar_subcuentas()'\n\
               autocomplete='off' placeholder='Seleccionar'/>\n\
         </td>\n\
         <td>\n\
            <input class='form-control text-right' type='text' id='saldoc_"+numlineas+"' name='saldoc_"+numlineas+"' value='0' disabled='disabled'/>\n\
         </td>\n\
         <td>\n\
            <select id='iva_"+numlineas+"' name='iva_"+numlineas+"' onchange='recalcular()' class='form-control'>\n\
               <option value='0'>---</option>\n\
               {loop="$fsc->impuesto->all()"}<option value='{$value->iva}'>{$value->descripcion}</option>{/loop}\n\
            </select>\n\
         </td>\n\
         <td>\n\
            <input class='form-control text-right' type='text' id='baseimp_"+numlineas+"' name='baseimp_"+numlineas+"' value='0' autocomplete='off'/>\n\
         </td>\n\
         <td>\n\
            <input class='form-control text-right' type='text' id='cifnif_"+numlineas+"' name='cifnif_"+numlineas+"'/>\n\
         </td>\n\
         <td class='text-right'>\n\
            <a class='btn btn-sm btn-danger' onclick=\"clean_partida('"+numlineas+"')\">\n\
               <span class='glyphicon glyphicon-trash'></span>\n\
            </a>\n\
         </td>\n\
      </tr>");
   }
   function show_buscar_subcuentas(num, tipo)
   {
      $("#subcuentas").html('');
      document.f_buscar_subcuentas.fecha.value = document.f_asiento.fecha.value;
      document.f_buscar_subcuentas.tipo.value = tipo;
      document.f_buscar_subcuentas.numlinea.value = num;
      document.f_buscar_subcuentas.query.value = '';
      $("#modal_subcuentas").modal('show');
      document.f_buscar_subcuentas.query.focus();
   }
   function buscar_subcuentas()
   {
      if(document.f_buscar_subcuentas.query.value == '')
      {
         $("#subcuentas").html('');
      }
      else
      {
         var datos = 'query='+document.f_buscar_subcuentas.query.value;
         datos += "&fecha="+document.f_buscar_subcuentas.fecha.value;
         $.ajax({
            type: 'POST',
            url: '{$fsc->url()}',
            dataType: 'html',
            data: datos,
            success: function(datos) {
               var re = /<!--(.*?)-->/g;
               var m = re.exec( datos );
               if( m[1] == document.f_buscar_subcuentas.query.value )
               {
                  $("#subcuentas").html(datos);
               }
            }
         });
      }
   }
   function select_subcuenta(codsubcuenta, saldo)
   {
      var num = document.f_buscar_subcuentas.numlinea.value;
      if(document.f_buscar_subcuentas.tipo.value == 'subcuenta')
      {
         $("#codsubcuenta_"+num).val(codsubcuenta);
         $("#saldo_"+num).val(saldo);
      }
      else
      {
         $("#codcontrapartida_"+num).val(codsubcuenta);
         $("#saldoc_"+num).val(saldo);
      }
      $("#modal_subcuentas").modal('hide');
   }
   function clean_partida(num)
   {
      $("#partida_"+num).remove();
      recalcular();
   }
   function recalcular()
   {
      var debe = 0;
      var haber = 0;
      var iva = 0;
      var t_debe = 0;
      var t_haber = 0;
      
      for(var i=1; i<=numlineas; i++)
      {
         if( $("#partida_"+i).length > 0 )
         {
            debe = parseFloat( $("#debe_"+i).val() );
            haber = parseFloat( $("#haber_"+i).val() );
            
            if( $("#codcontrapartida_"+i).val() != '' )
            {
               iva = parseFloat( $("#iva_"+i).val() );
               if(iva == 0)
                  $("#baseimp_"+i).val('0');
               else
               {
                  if(haber == 0)
                     $("#baseimp_"+i).val( debe*100/iva );
                  else if(debe == 0)
                     $("#baseimp_"+i).val( haber*100/iva );
                  else
                     $("#baseimp_"+i).val(0);
               }
            }
            
            t_debe += debe;
            t_haber += haber;
         }
      }
      document.f_asiento.importe.value = Math.max(t_debe, t_haber);
      document.f_asiento.descuadre.value = fs_round(t_debe - t_haber, 2);
   }
   function asigna_concepto()
   {
      document.f_asiento.concepto.value = $("#s_idconceptopar option:selected").text();
   }
   $(document).ready(function() {
      document.f_asiento.concepto.focus();
      $("#f_buscar_subcuentas").submit(function(event) {
         event.preventDefault();
         buscar_subcuentas();
      });
      $("#f_asiento").submit(function(event) {
         event.preventDefault();
         if(document.f_asiento.descuadre.value == 0)
         {
            $(this).disabled = true;
            document.f_asiento.numlineas.value = numlineas;
            document.f_asiento.submit();
         }
         else
            alert('¡Asiento descuadrado!');
      });
   });
</script>

<form id="f_buscar_subcuentas" name="f_buscar_subcuentas" class="form">
   <input type="hidden" name="fecha"/>
   <input type="hidden" name="tipo"/>
   <input type="hidden" name="numlinea"/>
   <div class="modal" id="modal_subcuentas">
      <div class="modal-dialog" style="width: 99%; max-width: 900px;">
         <div class="modal-content">
            <div class="modal-header">
               <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
               <h4 class="modal-title">Buscar subcuentas</h4>
            </div>
            <div class="modal-body">
               <div class="input-group">
                  <input class="form-control" type="text" name="query" onkeyup="buscar_subcuentas();" autocomplete="off"/>
                  <span class="input-group-btn">
                     <button class="btn btn-primary" type="submit">
                        <span class="glyphicon glyphicon-search"></span>
                     </button>
                  </span>
               </div>
            </div>
            <div id="subcuentas"></div>
         </div>
      </div>
   </div>
</form>

<form id="f_asiento" name="f_asiento" action="{$fsc->url()}" method="post" class="form">
   <input type="hidden" name="petition_id" value="{$fsc->random_string()}"/>
   <input type="hidden" name="numlineas" value="0"/>
   <div class="container-fluid">
      <div class="row">
         <div class="col-lg-2 col-md-2 col-sm-2">
            <div class="form-group">
               Fecha:
               <input class="form-control datepicker" name="fecha" type="text" value="{$fsc->asiento->fecha}"/>
            </div>
         </div>
         <div class="col-lg-2 col-md-2 col-sm-2">
            <div class="form-group">
               Predefinido:
               <select id="s_idconceptopar" name="idconceptopar" onchange="asigna_concepto()" class="form-control">
                 <option value="">---</option>
                 {loop="$fsc->concepto->all()"}<option value="{$value->idconceptopar}">{$value->concepto}</option>{/loop}
               </select>
            </div>
         </div>
         <div class="col-lg-3 col-md-2 col-sm-2">
            <div class="form-group">
               Concepto:
               <input class="form-control" name="concepto" type="text" autocomplete="off"/>
            </div>
         </div>
         <div class="col-lg-2 col-md-2 col-sm-2">
            <div class="form-group">
               Divisa:
               <select name='divisa' class='form-control'>
               {loop="$fsc->divisa->all()"}
                  <option value='{$value->coddivisa}'{if condition="$value->is_default()"} selected="selected"{/if}>{$value->descripcion}</option>
               {/loop}
               </select>
            </div>
         </div>
         <div class="col-lg-2 col-md-2 col-sm-2">
            <div class="form-group">
               Importe:
               <input class="form-control" type="text" name="importe" value="0" readonly/>
            </div>
         </div>
         <div class="col-lg-1 col-md-2 col-sm-2">
            <div class="form-group">
               Descuadre:
               <input class="form-control" type="text" name="descuadre" value="0" readonly/>
            </div>
         </div>
      </div>
   </div>
   
   <div class="table-responsive">
      <table class="table table-hover">
         <thead>
            <tr>
               <th class="text-left">Subcuenta</th>
               <th class="text-right">Saldo</th>
               <th class="text-right">Debe</th>
               <th class="text-right">Haber</th>
               <th class="text-left">Contrapartida</th>
               <th class="text-right">Saldo</th>
               <th class="text-right">IVA</th>
               <th class="text-right">Base Imp.</th>
               <th class="text-left">{#FS_CIFNIF#}</th>
               <th></th>
            </tr>
         </thead>
         <tbody id="partidas">
            
         </tbody>
      </table>
   </div>
      
   <div class="container-fluid">
      <div class="row">
         <div class="col-lg-12 col-md-12 col-sm-12">
            <a href="#" class="btn btn-sm btn-block btn-success" onclick="add_partida();return false;">Añadir línea...</a>
         </div>
      </div>
      
      <div class="row" style="margin-top: 20px;">
         <div class="col-lg-12 text-right">
            <button class="btn btn-sm btn-primary" type="submit">
               <span class="glyphicon glyphicon-floppy-disk"></span>
               &nbsp; Guardar
            </button>
         </div>
      </div>
   </div>
</form>

{include="footer"}